using System.Collections.Generic;
using CustomerContactSystem.Core.Model;
using sdcc.FixYourStreetDotNet;

namespace CustomerContactSystem.Core.AppServices.FixYourStreet {
    public interface IFixYourStreetService {
        IEnumerable<FixYourStreetIncident> GetLatestIncidents(int maxId);
        IEnumerable<FixYourStreetComment> GetLatestComments(int maxId);
        void SubmitStatusUpdate(int incidentId, string status);
        int SubmitComment(int incidentId, string author, string comment);
        void DeleteComment(int commentId);

        IEnumerable<Enquiry> MapFixYourStreetIncidentToEnquiry(FixYourStreetIncident incident,
                                                               Dictionary<int, EnquiryCategory> categoryMatchUps,
                                                               EnquiryClassification classification,
                                                               EnquirySource source, User submitter);
    }
}